// pages/circle/circle.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    loading: true,
    momentsList: []
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    console.log('Circle page loaded');
    this.fetchMoments();
  },

  /**
   * 获取朋友圈数据
   */
  fetchMoments() {
    this.setData({ loading: true });
    
    // 模拟网络请求延迟
    setTimeout(() => {
      // 模拟朋友圈数据
      const mockMoments = [
        {
          id: '1',
          nickname: '张三',
          avatar: 'https://res.wx.qq.com/wxdoc/dist/assets/img/0.4cb08bb4.jpg',
          content: '今天天气真好，出去玩了一天，感觉很放松！',
          images: [
            'https://res.wx.qq.com/wxdoc/dist/assets/img/0.4cb08bb4.jpg',
            'https://res.wx.qq.com/wxdoc/dist/assets/img/0.4cb08bb4.jpg',
            'https://res.wx.qq.com/wxdoc/dist/assets/img/0.4cb08bb4.jpg'
          ],
          location: '广州市天河区',
          time: '1小时前',
          likes: ['李四', '王五', '赵六'],
          comments: [
            { id: '101', user: '李四', text: '真好看，下次带我一起去！' },
            { id: '102', user: '王五', text: '天气确实不错' }
          ]
        },
        {
          id: '2',
          nickname: '李四',
          avatar: 'https://res.wx.qq.com/wxdoc/dist/assets/img/0.4cb08bb4.jpg',
          content: '分享一个好消息，我升职了！',
          images: [],
          location: '',
          time: '3小时前',
          likes: ['张三', '王五', '赵六', '钱七'],
          comments: [
            { id: '201', user: '张三', text: '恭喜恭喜！' },
            { id: '202', user: '王五', text: '太棒了，请客！' },
            { id: '203', user: '赵六', text: '厉害了我的哥！' }
          ]
        },
        {
          id: '3',
          nickname: '王五',
          avatar: 'https://res.wx.qq.com/wxdoc/dist/assets/img/0.4cb08bb4.jpg',
          content: '新买的相机，拍照效果不错',
          images: [
            'https://res.wx.qq.com/wxdoc/dist/assets/img/0.4cb08bb4.jpg'
          ],
          location: '深圳市南山区',
          time: '昨天',
          likes: ['张三'],
          comments: [
            { id: '301', user: '张三', text: '什么型号的？看起来不错' }
          ]
        },
        {
          id: '4',
          nickname: '赵六',
          avatar: 'https://res.wx.qq.com/wxdoc/dist/assets/img/0.4cb08bb4.jpg',
          content: '周末去爬山，风景如画',
          images: [
            'https://res.wx.qq.com/wxdoc/dist/assets/img/0.4cb08bb4.jpg',
            'https://res.wx.qq.com/wxdoc/dist/assets/img/0.4cb08bb4.jpg',
            'https://res.wx.qq.com/wxdoc/dist/assets/img/0.4cb08bb4.jpg',
            'https://res.wx.qq.com/wxdoc/dist/assets/img/0.4cb08bb4.jpg'
          ],
          location: '黄山',
          time: '2天前',
          likes: [],
          comments: []
        },
        {
          id: '5',
          nickname: '钱七',
          avatar: 'https://res.wx.qq.com/wxdoc/dist/assets/img/0.4cb08bb4.jpg',
          content: '读书使人明智，明智使人豁达',
          images: [],
          location: '',
          time: '3天前',
          likes: ['张三', '李四'],
          comments: [
            { id: '501', user: '张三', text: '说得好！' }
          ]
        }
      ];

      this.setData({
        momentsList: mockMoments,
        loading: false
      });
    }, 1000);
  },

  /**
   * 预览图片
   */
  previewImage(e) {
    const urls = e.currentTarget.dataset.urls;
    const current = e.currentTarget.dataset.current;
    
    wx.previewImage({
      current: current, // 当前显示图片的http链接
      urls: urls // 需要预览的图片http链接列表
    });
  },

  /**
   * 显示操作菜单
   */
  showActions(e) {
    const momentId = e.currentTarget.dataset.id;
    
    wx.showActionSheet({
      itemList: ['点赞', '评论', '复制', '举报'],
      success: (res) => {
        switch (res.tapIndex) {
          case 0: // 点赞
            this.handleLike(momentId);
            break;
          case 1: // 评论
            this.handleComment(momentId);
            break;
          case 2: // 复制
            this.handleCopy(momentId);
            break;
          case 3: // 举报
            this.handleReport(momentId);
            break;
        }
      }
    });
  },

  /**
   * 处理点赞
   */
  handleLike(momentId) {
    wx.showToast({
      title: '点赞成功',
      icon: 'success'
    });
    // 实际应用中，这里应该调用API进行点赞操作，然后刷新数据
  },

  /**
   * 处理评论
   */
  handleComment(momentId) {
    // 实际应用中，这里应该弹出评论输入框
    wx.showToast({
      title: '评论功能开发中',
      icon: 'none'
    });
  },

  /**
   * 处理复制
   */
  handleCopy(momentId) {
    // 找到对应的朋友圈内容
    const moment = this.data.momentsList.find(item => item.id === momentId);
    if (moment) {
      wx.setClipboardData({
        data: moment.content,
        success: () => {
          wx.showToast({
            title: '内容已复制',
            icon: 'success'
          });
        }
      });
    }
  },

  /**
   * 处理举报
   */
  handleReport(momentId) {
    wx.showToast({
      title: '举报成功',
      icon: 'success'
    });
    // 实际应用中，这里应该调用API进行举报操作
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    // 下拉刷新，重新获取朋友圈数据
    this.fetchMoments();
    wx.stopPullDownRefresh();
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    // 可以在这里实现加载更多朋友圈的逻辑
    wx.showToast({
      title: '没有更多内容了',
      icon: 'none'
    });
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {
    return {
      title: '朋友圈',
      path: '/pages/circle/circle'
    };
  }
})